﻿using System;
using System.Collections.Generic;
using System.Text;
using ECOSYSTEM_Dominio;
using System.Data.SqlClient;
using System.Data;
namespace ECOSYSTEM_DAL
{
    public class GarantiaDAL
    {
        SqlConnection cnn;
        public Boolean RegistrarGarantia(Garantia laGarantia, Int32 SerieID)
        {
            try
            {
                cnn = (SqlConnection)ConexionSQL.getInstancia().getConexion();
                cnn.Open();
                SqlCommand cmd = new SqlCommand("RegistrarGarantia", cnn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("Descripcion",laGarantia.Descripcion);
                cmd.Parameters.AddWithValue("Serie", laGarantia.Serie);
                cmd.Parameters.AddWithValue("Estado", laGarantia.Estado);
                cmd.Parameters.AddWithValue("FechaSalida", laGarantia.FecSalida);
                cmd.Parameters.AddWithValue("FechaIngreso", laGarantia.FecIngreso);
                cmd.Parameters.AddWithValue("ProductoID", laGarantia.ElProducto);
                cmd.Parameters.AddWithValue("SerieID",SerieID);
                cmd.ExecuteNonQuery();
            }
            catch (SqlException ex) { throw new Exception(ex.Message); }
            catch (Exception e) { throw new Exception(e.Message); }
            finally
            {
                if (cnn.State == ConnectionState.Open)
                {
                    cnn.Close();
                }
            }
            return true;
        }
        public Boolean ActualizarGarantia(Garantia laGarantia, Int32 IDGarantia)
        {
            try
            {
                cnn = (SqlConnection)ConexionSQL.getInstancia().getConexion();
                cnn.Open();
                SqlCommand cmd = new SqlCommand("ActualizarGarantia", cnn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("IDGarantia", IDGarantia);
                cmd.Parameters.AddWithValue("Descripcion", laGarantia.Descripcion);
                cmd.Parameters.AddWithValue("Serie", laGarantia.Serie);
                cmd.Parameters.AddWithValue("Estado", laGarantia.Estado);
                cmd.Parameters.AddWithValue("FechaIngreso", laGarantia.FecIngreso);
                cmd.Parameters.AddWithValue("ProductoID", laGarantia.ElProducto);
                cmd.ExecuteNonQuery();
            }
            catch (SqlException ex) { throw new Exception(ex.Message); }
            catch (Exception e) { throw new Exception(e.Message); }
            finally
            {
                if (cnn.State == ConnectionState.Open)
                {
                    cnn.Close();
                }
            }
            return true;
        }
        public DataTable ObtenerProductoGarantia()
        {
            DataTable lista = null;
            try
            {
                cnn = (SqlConnection)ConexionSQL.getInstancia().getConexion();
                cnn.Open();
                SqlDataAdapter da = new SqlDataAdapter("ObtenerProductosGarantia", cnn);
                da.SelectCommand.CommandType = CommandType.StoredProcedure;
                lista = new DataTable();
                da.Fill(lista);
            }
            catch (SqlException ex) { throw new Exception(ex.Message); }
            catch (Exception e) { throw new Exception(e.Message); }
            finally
            {
                if (cnn.State == ConnectionState.Open)
                {
                    cnn.Close();
                }
            }
            return lista;
        }
    }
}
